home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
A-COMAL Series
/
(k)aan.d64
/
txt.printer pack
< prev
next >
Wrap
Text File
|
2007-02-28
|
5KB
|
202 lines
BY ╟LEN ├OLBERT
╘HIS IS THE PRINTER PACKAGE DESIGN
KIT FOR ├╧═┴╠ 80 V2.0 AND THE
├OMMODORE 64. ┬EFORE GOING CRAZY
WORRYING ABOUT ALL OF THE POOR CODE,
PLEASE READ THE EXPLANATION FOR THE
PACKAGE. ╘HIS IS AN UNFINISHED,
ONGOING PROJECT THAT NEEDS YOUR
SUPPORT AND INPUT TO MAKE IT WORK. ╔F
YOU CAN CONTRIBUTE YOUR SKILLS,
PLEASE DO SO.
├╧╬├┼╨╘:
╘HE CONCEPT BEHIND A STANDARDIZED
PRINTER PACKAGE IS TO HAVE A UNIFIED
SET OF PRINTER INSTRUCTIONS WHICH
WILL ALLOW THE USE OF SPECIAL PRINTER
COMMANDS, GRAPHIC SCREEN DUMPS, AND
CUSTOM FONTS IN ANY PROGRAM WITHOUT
HAVING TO WRITE SPECIAL VERSIONS OF
THE MAIN PROGRAM FOR EACH PRINTER. ╘O
ACCOMPLISH THIS, A PRINTER PACKAGE
SHOULD BE DESIGNED FOR EACH TYPE OF
PRINTER. ╘HE USER WOULD THEN LINK THE
APPROPRIATE PACKAGE TO MATCH THAT
PRINTER AND RUN THE PROGRAM.
╙EVERAL THINGS SHOULD BE KEPT IN MIND
WHILE WORKING ON A PRINTER PACKAGE.
╞IRST, EVERY EFFORT SHOULD BE MADE TO
ENSURE THAT THE ROUTINES YOU WRITE AS
A PART OF THE PACKAGE SHOULD BE AS
FUNCTIONALLY IDENTICAL TO THOSE IN
THE ORIGINAL PACKAGE AS IS POSSIBLE.
╙ECOND, IF THE PRINTER THAT YOU ARE
WORKING ON DOESN'T SUPPORT AND/OR
CAN'T SIMULATE ONE OF THE FUNCTIONS
IN THE PACKAGE THEN A CHANGE OF STATE
SHOULD OCCUR ANYWAY. ╨OSSIBLE
EXCEPTIONS TO THIS MIGHT BE A CALL TO
A GRAPHICS DUMP ON A LETTER QUALITY
PRINTER. ╔N THESE EXCEPTIONS, IT MAY
BE WISE TO GENERATE A NOT IMPLEMENTED
ERROR:
╠─╪ #57
╩╙╥ ╥╒╬┼╥╥
═┴╦╔╬╟ ├╚┴╬╟┼╙:
╘HE CURRENT CODE IS NOT THE BEST, AND
YOU MAY FIND REASON TO MODIFY
SECTIONS OF IT. ╔F YOU DO, ╨╠┼┴╙┼
SEND ME A COPY OF THE CHANGES
(PRINTED LISTING IS OK) AND THE
REASON FOR THEM. ╔ HAVE STOLEN MANY
OF THE ROUTINES IN THIS PACKAGE FROM
OTHERS AND WOULD LIKE TO THANK THEM
FOR THEIR CONTRIBUTIONS.
╒NFORTUNATELY, ╔ CAN'T REMEMBER WHAT
IS WHO'S TO GIVE PROPER CREDIT. ╔F
YOU FIND SOMETHING OF YOURS, LET ME
KNOW WHERE IT IS AND WE WILL INSERT A
PROPER CREDIT IN THE CODE.
╟╠┼╬ ├╧╠┬┼╥╘
4450 ╫. 4955 ╙.
╙ALT ╠AKE ├ITY, ╒╘ 84118
═┴╩╧╥ ╙┼├╘╔╧╬╙:
╘HERE ARE THREE MAJOR SECTIONS IN
THIS PACKAGE. ╘HESE ARE:
1. ╟RAPHICS CHARACTERS TO THE PRINTER
2. ╟RAPHICS DUMPS
3. ╨RINTER COMMANDS
╘HE PRINTER COMMANDS SHOULD STAND BY
THEMSELVES, SO ╔ PUT THEM IN A
SEPARATE PACKAGE. ╘O LINK THE
COMMANDS THAT YOU NEED INTO THE
PACKAGE, MODIFY THE DATA TABLE IN THE
PRINTER SPECIFIC LIBRARY TO MATCH THE
COMMAND SEQUENCE FOR YOUR PRINTER.
╘HE FIRST BYTE IS THE NUMBER OF
CHARACTERS IN THE COMMAND. ╘HIS IS
FOLLOWED BY THE COMMAND ITSELF.
╘HE ╙╬─╟╥╞ SUBROUTINE IN THE PRINTER
SPECIFIC FILE SENDS AN 8 BYTE
GRAPHICS IMAGE OF A CHARACTER TO THE
PRINTER.
─┼╬╙╔╘ IS SET WHEN THE DENSITY(X)
PROCEDURE IS CALLED. ╔T IS SET FOR
DOUBLE DENSITY PRINTING OF THE
CHARACTERS, ETC.
╘HE 0 AND 1 SCREEN DUMPS USE TWO
ROUTINES IN THE PRINTER SPECIFIC
FILE. ╘HESE ARE ╙╬─┬╞┴ AND ╙╬─┬╞┬.
╘HESE ROUTINES SEND A BUFFER OF
GRAPHIC DATA TO THE PRINTER. ╘HE
BUFFERS ARE 320 BYTES LONG.
╧NE THING THAT THE PACKAGE
DESPERATELY NEEDS IS A MULTI-COLOR
DUMP. ╔F YOU WRITE A MULTI-COLOR
DUMP, PLEASE HAVE IT STORE THE DATA
IN ┬╒╞╥┴ AND/OR ┬╒╞╥┬, SENDING IT TO
THE PRINTER WITH CALLS TO
╙╬─┬╞┴/╙╬─┬╞┬. ╘HIS WAY, OTHERS WILL
BE ABLE TO EASILY MODIFY THEIR
PACKAGES TO INSTALL THE NEW DUMP.
╬OTE: ╘HERE ARE THREE SOURCE FILES ON
╘ODAY ─ISK #17. ╘HEY CAN BE ASSEMBLED
WITH THE ├OMMODORE ASSEMBLER. ┘OU
WILL ALSO NEED THE ╙┘═┬╙ FILE FROM
THE MATCHING DISK TO EITHER ─AVID
╙TIDOLPH'S ╨ACKAGE ╠IBRARY ┬OOK ╓OL
1, OR ╩ESSE ╦NIGHT'S ├╧═┴╠ 2.0
╨ACKAGES ┬OOK.
╙RC.PRINTER IS THE MAIN SOURCE FILE.
╒SE THIS FILE NAME WHEN ASKED WHICH
FILE YOU ARE ASSEMBLING. ═OST OF THIS
CODE SHOULD BE TRANSPORTABLE TO
PRINTER PACKAGES FOR OTHER PRINTERS.
╙RC.PRINTER USES THE FOLLOWING TWO
FILES AS LIBRARY FILES.
╙RC.CUSTOMDUMP IS THE GRAPHICS SCREEN
DUMP ROUTINE. ╘HERE IS A HI-RES
SCREEN DUMP SPECIFIC TO THE GEMINI
PRINTER. ╚EADER INFORMATION IS
INCLUDED FOR A MULTI-COLOR DUMP, BUT
THE CODE IS NOT IMPLEMENTED.
╙RC.GEMINI CONTAINS THE
PRINTER'COMMANDS PROCEDURES. ╘HE
CODES TO IMPLEMENT THESE PROCEDURES
ARE SPECIFIC TO THE GEMINI PRINTER,
BUT SHOULD BE EASILY ALTERED FOR
OTHER PRINTERS.
╘HESE FILES CAN BE ASSEMBLED INTO ONE
OBJECT FILE. ╨KG.GEMINI IS ON ╘ODAY
─ISK #17, BUT YOU SHOULD RENAME THIS
TO THE NAME OF YOUR PRINTER IF YOU
MODIFY THE PACKAGE. ╘HIS FILE IS A
SINGLE MODULE WHICH CONTAINS TWO
PACKAGES. ╘HE PACKAGE NAMES AND
PROCEDURES ARE LISTED BELOW. ┘OU MUST
ISSUE THESE COMMANDS BEFORE TRYING
ANY OF THE PROCEDURES:
╠╔╬╦ "PKG.GEMINI"
╒╙┼ PRINTER
╒╙┼ PRINTER'COMMANDS
PACKAGE PRINTER:
SCREEN'DUMP(INT)
CBM'CHARACTERS(INT)
HEX'DUMP(INT)
SETPRINTER(STR)
SET'REVERSE(INT)
HARDCOPY(STR)
GETSCREEN(╥┼╞ STR)
SETSCREEN(╥┼╞ STR)
DENSITY(INT)
PACKAGE PRINTER'COMMANDS:
BEEP
BACKSPACE
ENLARGE
UNENLARGE
CONDENSE
UNCONDENSE
UNDERLINE
UNDERLINE'OFF
EMPHASIZE
UNEMPHASIZE
BOLD
UNBOLD
ELITE
PICA
SUPERSCRIPT
ENDSCRIPT
SUBSCRIPT
REVERSE
REVERSE'OFF
ITALICS
ITALICS'OFF
SPACING'1'6
SPACING'1'8
FORMFEED
RESET'PRINTER